package com.continuing.beef.service.type;

import java.util.List;

import com.continuing.beef.domain.type.BillType;
import com.continuing.beef.domain.type.BillTypeBySelect;
import com.continuing.common.core.domain.model.LoginUser;

/**
 * 账单类型Service接口
 *
 * @author ruoyi
 * @date 2021-09-16
 */
public interface IBillTypeService {
    /**
     * 查询账单类型
     *
     * @param id 账单类型主键
     * @return 账单类型
     */
    public BillType selectBillTypeById(Long id);

    public BillType selectBillTypeByTypeId(String typeId);

    /**
     * 查询账单类型列表
     *
     * @param billType 账单类型
     * @return 账单类型集合
     */
    public List<BillType> selectBillTypeList(BillType billType, LoginUser loginUser);


    /**
     * 选择用到的 账单类型 数据
     * @param deptId
     * @return
     */
    public List<BillTypeBySelect> selectBillTypeSelectListByDeptId(Long deptId);


    /**
     * 新增账单类型
     *
     * @param billType 账单类型
     * @return 结果
     */
    public int insertBillType(BillType billType, LoginUser loginUser);

    /**
     * 修改账单类型
     *
     * @param billType 账单类型
     * @return 结果
     */
    public int updateBillType(BillType billType);

    /**
     * 批量删除账单类型
     *
     * @param ids 需要删除的账单类型主键集合
     * @return 结果
     */
    public int deleteBillTypeByIds(Long[] ids);

    /**
     * 删除账单类型信息
     *
     * @param id 账单类型主键
     * @return 结果
     */
    public int deleteBillTypeById(Long id);


}
